#ifndef CLIENT_NETWORK_H
#define CLIENT_NETWORK_H

#include "config.h"         
#include <sys/socket.h>     
#include <netinet/in.h>     
#include <arpa/inet.h>     
#include <unistd.h>       


/**
 * 功能 连接服务器：从配置读取IP和端口
 * 参数
 *     config：客户端配置结构体
 * 返回
 *     连接fd（失败返回-1）
*/ 
int connect_to_server(ClientConfig *config);

/**
 * 功能 发送数据到服务器
 * 参数
 *     sock_fd：连接fd
 *     data：发送数据
 * 返回
 *     发送的字节数（失败返回-1）
*/ 
ssize_t send_data(int sock_fd, const char *data);

/**
 * 功能 接收服务器响应，保存到buffer
 * 参数
 *     sock_fd：连接fd
 *     buffer：接收数据缓冲区
 *     buffer_size：缓冲区大小
 * 返回
 *     接收的字节数（失败返回-1）
*/ 
ssize_t recv_data(int sock_fd, char *buffer, size_t buffer_size);

#endif